package admin

type Payload struct {
	Keys []string `json:"keys"`
}

type User struct {
	Id   string `json:"id"`
	Head string `json:"head"`
	Read string `json:"read"`
}

type AdminLoginRequest struct {
	Email string `json:"email"`
	Pass  string `json:"pass"`
}

// 切换头像请求参数
type ChangeHeadRequest struct {
	Head string `json:"head"`
}

// 今日请求参数的响应
type GetTodayInfoResponse struct {
	TotalBrowses int `json:"totalBrowses"`
	TotalOrders  int `json:"totalOrders"`
	AddNewGoods  int `json:"addNewGoods"`
}

// 获取今日销售排行请求参数
type GetTodayGoodsResponse struct {
	Name     string `json:"name"`
	Pic      string `json:"pic"`
	Supplier string `json:"supplier"`
	Sales    int    `json:"sales"`
	Total    string `json:"total"`
}

// 获取商品列表响应参数
type GetGoodsList struct {
	GoodsId   string `json:"goodsId"`
	GoodsName string `json:"goodsName"`
	GoodsPic  string `json:"goodsPic"`
	Supplier  string `json:"supplier"`
	Status    string `json:"status"`
	Checked   bool   `json:"checked"` //这个参数代表是否选中
}

// 获取搜索商品请求参数
type SearchGoodsRequest struct {
	Keyword string `json:"keyword"`
}

// 获取商品详情页请求参数
type GetGoodsDetailRequest struct {
	GoodsId string `json:"goodsId"` //商品id
}

// 获取商品详情页响应参数
type GetGoodsDetailResponse struct {
	GoodsId string `json:"goodsId"`
	Desc    string `json:"desc"`
	Pic     string `json:"pic"`
	Name    string `json:"name"`
	Price   string `json:"price"`
	Unit    string `json:"unit"`
	Stock   int    `json:"stock"`
	Status  int    `json:"status"`
}

// 实现商品修改状态请求参数
type ChangeGoodsStatusRequest struct {
	GoodsId string `json:"goodsId"` //商品ID
	Status  int    `json:"status"`  //修改后的状态
}

// 获取所有订单列表
type GetOrderListResponse struct {
	OrderId     string `json:"orderId"`
	SupplierId  string `json:"supplierId"`
	Supplier    string `json:"supplier"`
	SupplierPic string `json:"supplierPic"`
	User        string `json:"user"`
	UserPic     string `json:"userPic"`
	TotalMoney  string `json:"totalMoney"`
	Status      int    `json:"status"`
	Checked     bool   `json:"checked"`
}

// 通过订单ID获取订单信息
type GetOrderByIDRequest struct {
	OrderId string `json:"orderId"`
}

type Order struct {
	Id          string      `json:"id"`           //订单编号
	Supplier    string      `json:"supplier"`     //商家账号
	User        string      `json:"user"`         //用户账号
	Amount      string      `json:"amount"`       //订单金额
	Status      int         `json:"status"`       //订单状态
	CreateTime  string      `json:"create_time"`  //订单创建时间
	Invoice     string      `json:"invoice"`      //发货单流水号
	Logistics   string      `json:"logistics"`    //物流方式
	LogisticsId string      `json:"logistics_id"` //物流单号
	Receipt     string      `json:"receipt"`      //收货时间
	ReceiptInfo UserAddress `json:"receiptInfo"`  //收件人信息
	GoodsInfo   []Good      `json:"goodsInfo"`    //购买当商品信息
	OperateInfo []Operate   `json:"operateInfo"`  //订单操作信息
}

// 实例化商品列表
type Good struct {
	Id         string            `json:"id"`          //商品编号
	Name       string            `json:"name"`        //商品名称
	Pic        string            `json:"pic"`         //商品图片
	Desc       string            `json:"desc"`        //商品简介
	Price      string            `json:"price"`       //商品价格
	Stock      int               `json:"stock"`       //商品库存 或 在订单表里当购买数量
	Unit       string            `json:"unit"`        //商品单位
	Sales      int               `json:"sales"`       //商品销量
	Status     int               `json:"status"`      //商品状态
	CreateTime string            `json:"create_time"` //商品创建时间
	Browses    map[string]Browse `json:"browses"`     //储存浏览人数
	Supplier   string            `json:"supplier"`    //存储商家用户的ID
}

// 用户的收货地址
type UserAddress struct {
	Name        string `json:"name"`        //收件人姓名
	PhoneNumber string `json:"phoneNumber"` //收件人手机号
	Address     string `json:"address"`     //收件人地址
}

// 订单操作实例
type Operate struct {
	User        string `json:"user"`        //操作人
	OperateTime string `json:"operateTime"` //操作时间
	OrderStatus int    `json:"orderStatus"` //订单状态
	Remark      string `json:"remark"`      //备注
}

// 用来存储用户浏览记录
type Browse struct {
	TimeDate string `json:"time_date"` //日期
	Number   int    `json:"number"`    //储存浏览次数
}

// 实例化商家对象
type SupplierUser struct {
	Email  string  `json:"email"`  //商家邮箱
	Pass   string  `json:"pass"`   //商家密码
	Head   string  `json:"head"`   //商家头像
	Goods  []Good  `json:"goods"`  //商家发布的商品
	Orders []Order `json:"orders"` //订单
}

// 实现商家搜索ID
type SearchSupplierIDRequest struct {
	SupplierId string `json:"supplierId"`
}

// 实现获取用户列表进行操作
type GetUserListResponse struct {
	Id     string `json:"id"`
	Email  string `json:"email"`
	Pic    string `json:"pic"`
	Status int    `json:"status"`
}

// 通过邮箱搜索用户请求参数
type SearchUserRequest struct {
	Email string `json:"email"`
}

// 修改用户请求参数
type ChangeUserStatusRequest struct {
	Status int    `json:"status"`
	Email  string `json:"email"`
}
